<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Navo Portable Library: navo/algorithm/linear/linked/dllnk.h文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Navo Portable Library&#160;<span id="projectnumber">Ver 1.0.20120827</span></div>
   <div id="projectbrief">Provides generic platform independent facilities.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="modules.html"><span>模块</span></a></li>
      <li><a href="annotated.html"><span>数据结构</span></a></li>
      <li class="current"><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>文件列表</span></a></li>
      <li><a href="globals.html"><span>全局定义</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">数据结构</a> &#124;
<a href="#define-members">宏定义</a> &#124;
<a href="#typedef-members">类型定义</a> &#124;
<a href="#func-members">函数</a>  </div>
  <div class="headertitle">
<h1>navo/algorithm/linear/linked/dllnk.h文件参考</h1>  </div>
</div>
<div class="contents">

<p>Doubly linear linked list.  
<a href="#_details">更多...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="cdef_8h_source.html">../../../port/cdef.h</a>&quot;</code><br/>
</div>
<p><a href="dllnk_8h_source.html">浏览该文件的源代码。</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
数据结构</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____dllnk__node.html">__dllnk_node</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">双向线形链表节点  <a href="struct____dllnk__node.html#_details">更多...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdllnk__head.html">dllnk_head</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">双向线形链表表头  <a href="structdllnk__head.html#_details">更多...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
宏定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af682a60d1f01ba9abfa16aaacf9ffc3d"></a><!-- doxytag: member="dllnk.h::__NV_DLLNK__" ref="af682a60d1f01ba9abfa16aaacf9ffc3d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__NV_DLLNK__</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaba46055af405e695c603e14df05be38f">DLLNK_HEAD</a>(name)&#160;&#160;&#160;<a class="el" href="structdllnk__head.html">dllnk_head</a> name = {NULL}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义一个名为name的表头，并对其初始化  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaba46055af405e695c603e14df05be38f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga08e2aeaf4c5fde424c509d3053e2fa6c">DLLNK_NODE</a>(name)&#160;&#160;&#160;<a class="el" href="struct____dllnk__node.html">dllnk_node</a> name = {NULL, NULL}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义一个名为name的节点，并对其初始化  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga08e2aeaf4c5fde424c509d3053e2fa6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga33fc6503c3ba3fc80600d997780aa11d"></a><!-- doxytag: member="dllnk.h::DLLNK_CHECK_PASS" ref="ga33fc6503c3ba3fc80600d997780aa11d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DLLNK_CHECK_PASS</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga98abf113d8ef2d011de0ae74a15bac3f"></a><!-- doxytag: member="dllnk.h::DLLNK_CHECK_LOOP" ref="ga98abf113d8ef2d011de0ae74a15bac3f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DLLNK_CHECK_LOOP</b>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad6e52fd78f1c7acd6c295b9a9bf2defc"></a><!-- doxytag: member="dllnk.h::DLLNK_CHECK_LINK" ref="gad6e52fd78f1c7acd6c295b9a9bf2defc" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DLLNK_CHECK_LINK</b>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf96c41737b8d631c6895026c3c29c9ed"></a><!-- doxytag: member="dllnk.h::dllnk_inc" ref="gaf96c41737b8d631c6895026c3c29c9ed" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaf96c41737b8d631c6895026c3c29c9ed">dllnk_inc</a>(itr)&#160;&#160;&#160;((itr) = (itr)-&gt;next)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器递增 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a228a65239445ecffcfb2f3e6270d3f"></a><!-- doxytag: member="dllnk.h::dllnk_dec" ref="ga7a228a65239445ecffcfb2f3e6270d3f" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga7a228a65239445ecffcfb2f3e6270d3f">dllnk_dec</a>(itr)&#160;&#160;&#160;((itr) = (itr)-&gt;prev)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器递减 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39baf07fbf9c40367413e5d212557e74"></a><!-- doxytag: member="dllnk.h::dllnk_inc_later" ref="ga39baf07fbf9c40367413e5d212557e74" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga39baf07fbf9c40367413e5d212557e74">dllnk_inc_later</a>(itr)&#160;&#160;&#160;__dllnk_inc_later(itr, &amp;(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器后自增 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga587175a3674d02b79688b531a8be8672"></a><!-- doxytag: member="dllnk.h::dllnk_dec_later" ref="ga587175a3674d02b79688b531a8be8672" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga587175a3674d02b79688b531a8be8672">dllnk_dec_later</a>(itr)&#160;&#160;&#160;__dllnk_dec_later(itr, &amp;(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器后自减 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gad8243d398dc6e9b795a51e5b811fe491">dllnk_foreach</a>(_begin, _end, fn, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">正向遍历_begin到_end的节点，并为每一个节点调用回调函数或宏  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gad8243d398dc6e9b795a51e5b811fe491"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaff6941fd85dec1f7998275b444bbab0f">dllnk_search</a>(head, _begin, _end, equal, var, res, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">顺序查找区域内的指定节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaff6941fd85dec1f7998275b444bbab0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga785922ebe4d1cc59203fcef25776c636">dllnk_vpush</a>(head, itr)&#160;&#160;&#160;dllnk_push_front(head, dllnk_inc_later(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">入栈反转  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga785922ebe4d1cc59203fcef25776c636"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gacfa222816896d7f7b87ca37b57185bc9">dllnk_serialize</a>(head, buf, type, member)&#160;&#160;&#160;__dllnk_serialize(head, (char**)(buf), offset_of(type, member))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">表的序列化  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gacfa222816896d7f7b87ca37b57185bc9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1514d66dd9d06e311af3f5fa4baca309">dllnk_deserialize</a>(head, buf, cnt, type, member)&#160;&#160;&#160;__dllnk_deserialize(head, (char**)(buf), cnt, offset_of(type, member))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">表的反序列化  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1514d66dd9d06e311af3f5fa4baca309"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga7edc28c8c51ef2ee5abeaddaa98269d9">dllnk_sort_insert</a>(head, newly, greater_equal, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">按升序插入新节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga7edc28c8c51ef2ee5abeaddaa98269d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga4bbbce0305bddd53a3a8f7745bb611a6">dllnk_is_sorted</a>(_begin, _end, greater_equal, res, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断表是否按序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga4bbbce0305bddd53a3a8f7745bb611a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac439692afec5b3becd5dbabdee620a6f">dllnk_bubble_sort</a>(_begin, _end, greater, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">对表进行冒泡排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac439692afec5b3becd5dbabdee620a6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gad5d51c77ceafbcdaa61868619442c637">dllnk_oddeven_sort</a>(_begin, _end, greater, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">对表进行奇偶排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gad5d51c77ceafbcdaa61868619442c637"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_oddeven_scan</b>(greater, type, member, _start)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga682c2252436a3180dc8c98faf50afd20">dllnk_cocktail_sort</a>(_begin, _end, greater, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">对表进行鸡尾酒排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga682c2252436a3180dc8c98faf50afd20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa83554627bdbd917023fdaf55a5cf5bd">dllnk_select_sort</a>(_begin, _end, greater, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">对表进行选择排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa83554627bdbd917023fdaf55a5cf5bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1a256df2453272c4108accd43e4373a6">dllnk_insert_sort</a>(_begin, _end, greater_equal, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">对表进行插入排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1a256df2453272c4108accd43e4373a6"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
类型定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf04d58a524b222e00f3874ac37d28a40"></a><!-- doxytag: member="dllnk.h::dllnk_node" ref="gaf04d58a524b222e00f3874ac37d28a40" args="" -->
typedef struct <a class="el" href="struct____dllnk__node.html">__dllnk_node</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaf04d58a524b222e00f3874ac37d28a40">dllnk_node</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">节点 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0dfcd15adc915116e6cbfada89e0b2d5"></a><!-- doxytag: member="dllnk.h::dllnk_iter" ref="ga0dfcd15adc915116e6cbfada89e0b2d5" args="" -->
typedef struct <a class="el" href="struct____dllnk__node.html">__dllnk_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0dfcd15adc915116e6cbfada89e0b2d5">dllnk_iter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9355ccdf941b5c303dee60ebb4303440"></a><!-- doxytag: member="dllnk.h::dllnk_pr1" ref="ga9355ccdf941b5c303dee60ebb4303440" args=")(dllnk_node *)" -->
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9355ccdf941b5c303dee60ebb4303440">dllnk_pr1</a> )(<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">单参数回调函数指针 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae215b02fef9242b63d82bfbc2f56e630"></a><!-- doxytag: member="dllnk.h::dllnk_pr2" ref="gae215b02fef9242b63d82bfbc2f56e630" args=")(dllnk_node *, dllnk_node *)" -->
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae215b02fef9242b63d82bfbc2f56e630">dllnk_pr2</a> )(<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *, <a class="el" href="struct____dllnk__node.html">dllnk_node</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">双参数回调函数指针 <br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
函数</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa16130c327a3a1a2ae085901c42e2d48">dllnk_check</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> *loop_entry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断链表结构是否正常  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa16130c327a3a1a2ae085901c42e2d48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gadd5be2ac140080aaff50f132c56ccb67">dllnk_init</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化表头  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gadd5be2ac140080aaff50f132c56ccb67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac69bb96ee42b0bd76935a66ee2ba3a57">dllnk_empty</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断表是否为空  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac69bb96ee42b0bd76935a66ee2ba3a57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2f4def0f29864cc2b471d87edf1a0633"></a><!-- doxytag: member="dllnk.h::__dllnk_singular" ref="ga2f4def0f29864cc2b471d87edf1a0633" args="(dllnk_node *front)" -->
static int&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_singular</b> (<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *front)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0e4ed2cf1d80f3aaeb48eb51cc04d4cb">dllnk_singular</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断表是否只有单个节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0e4ed2cf1d80f3aaeb48eb51cc04d4cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaeb569329348a99148bb31c1ae41f8b5f">dllnk_sortable</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> begin, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> end)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断表是否可以排序  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaeb569329348a99148bb31c1ae41f8b5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae04e825309cae3e10caf0f64980bcf45">dllnk_serialable</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断表是否可以序列化  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae04e825309cae3e10caf0f64980bcf45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga3be6eee788ebd39efd1a0111cd5ceb34">dllnk_link</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> prev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> next)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">链接两个节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga3be6eee788ebd39efd1a0111cd5ceb34"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac01b762b32d894b386224a98ded5a03e">dllnk_insert_between</a> (<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *newly, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> prev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> next)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">在两个节点之间插入一个新节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gac01b762b32d894b386224a98ded5a03e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9df2ed836a2efa15737b4043cf06e897">dllnk_insert</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> pos, <a class="el" href="struct____dllnk__node.html">dllnk_node</a> *newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">插入节点到指定位置  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9df2ed836a2efa15737b4043cf06e897"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0244c8a2f2488e82461c9ca7d960f57c">dllnk_erase</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> entry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">擦除节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0244c8a2f2488e82461c9ca7d960f57c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac0d13ccbed2349db3b1d146819c7d848"></a><!-- doxytag: member="dllnk.h::__dllnk_free" ref="gac0d13ccbed2349db3b1d146819c7d848" args="(dllnk_iter begin, dllnk_iter end, dllnk_pr1 erase_handler)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_free</b> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> begin, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> end, <a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9355ccdf941b5c303dee60ebb4303440">dllnk_pr1</a> erase_handler)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga3abf11e0008f6f25163fb6176f8a83dd">dllnk_erases</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> begin, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> end, <a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9355ccdf941b5c303dee60ebb4303440">dllnk_pr1</a> erase_handler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">清空区域  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga3abf11e0008f6f25163fb6176f8a83dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae3a257dc7738b2c38a794fa78231bf18">dllnk_clear</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9355ccdf941b5c303dee60ebb4303440">dllnk_pr1</a> erase_handler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">清空表  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae3a257dc7738b2c38a794fa78231bf18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gadfcd92624be83b1645bfba02ffdbe273">dllnk_push_front</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_node</a> *newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">在表首添加节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gadfcd92624be83b1645bfba02ffdbe273"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga347023d92cb9ca9721c05440bd1b7d2f">dllnk_pop_front</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">移除表首节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga347023d92cb9ca9721c05440bd1b7d2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa20782f9b1767435d0f16dd0de0c870a">dllnk_splice_between</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> prev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> next, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> first_prev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> first, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> last, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> last_next)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">在两个节点之间插入多个连续节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa20782f9b1767435d0f16dd0de0c870a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga66f8f6ca8e8861cbb461005b6e71f54b">dllnk_splice</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> pos, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> first, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> last)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">在两个节点之间插入多个连续节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga66f8f6ca8e8861cbb461005b6e71f54b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga59e49397ff2d1a45b313db980d4bba59">dllnk_count</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">统计表的节点数量  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga59e49397ff2d1a45b313db980d4bba59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga809cd392faca17774a7508fdce1382c3">dllnk_distance</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> first, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> last)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算两个节点的迭代距离  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga809cd392faca17774a7508fdce1382c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaddc2551f2a2069b7aed6165e7027c3fb">dllnk_advance</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> cur, int dist)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">给迭代器增加一段距离或减小一段距离  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaddc2551f2a2069b7aed6165e7027c3fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga13f6fe571e79098c177e287054559c81">dllnk_at</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, const size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">根据正向索引得到迭代器  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga13f6fe571e79098c177e287054559c81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaf375dfd2e992dac1e5341420cb0489d5">dllnk_index_of</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算迭代器的正向索引  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaf375dfd2e992dac1e5341420cb0489d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa9b47ea57c67cc60454e87d3e5e93f07">dllnk_node_init</a> (<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *entry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaa9b47ea57c67cc60454e87d3e5e93f07"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1afe3a368e765520c5b3897bc3000aed">dllnk_iter_replace</a> (<a class="el" href="struct____dllnk__node.html">dllnk_node</a> *victim, <a class="el" href="struct____dllnk__node.html">dllnk_node</a> *newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">用新节点替换目标节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1afe3a368e765520c5b3897bc3000aed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga41223f68721d9ac46fb3f1e0666f1f62"></a><!-- doxytag: member="dllnk.h::__dllnk_iter_swap" ref="ga41223f68721d9ac46fb3f1e0666f1f62" args="(dllnk_iter aprev, dllnk_iter a, dllnk_iter anext, dllnk_iter bprev, dllnk_iter b, dllnk_iter bnext)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_iter_swap</b> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> aprev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> a, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> anext, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> bprev, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> b, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> bnext)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0cbe2317d338652e25137962c8651cee">dllnk_iter_swap</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> a, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">交换两个节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga0cbe2317d338652e25137962c8651cee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga79d42c804f4faa777de813864441bb68">dllnk_replace</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *victim, <a class="el" href="structdllnk__head.html">dllnk_head</a> *newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">用新表头替换目标表头  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga79d42c804f4faa777de813864441bb68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga613c8bfbe9a547ddff5517ef3cd6a285"></a><!-- doxytag: member="dllnk.h::__dllnk_swap" ref="ga613c8bfbe9a547ddff5517ef3cd6a285" args="(dllnk_iter a, dllnk_iter afront, dllnk_iter b, dllnk_iter bfront)" -->
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_swap</b> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> a, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> afront, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> b, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> bfront)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gab5fb46bc689b5163f4f4ab27bd12ae4d">dllnk_swap</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *a, <a class="el" href="structdllnk__head.html">dllnk_head</a> *b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">交换两个表头  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gab5fb46bc689b5163f4f4ab27bd12ae4d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1a8328b32cceaba4e63f13891352e8e6">dllnk_exist</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断一个节点是否存在于表中  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga1a8328b32cceaba4e63f13891352e8e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaab61b38bf3d3e3fd998f3df09b167a9d">dllnk_front</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到表首节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaab61b38bf3d3e3fd998f3df09b167a9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae5f823311646f456d16de39ffcde80b7">dllnk_begin</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向正向起始位置的迭代器  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gae5f823311646f456d16de39ffcde80b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gacf71befe2c0d81f78cc4758a75df63d1">dllnk_end</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向正向终止位置的迭代器  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gacf71befe2c0d81f78cc4758a75df63d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga561b71db25d025ae7f75e673b75cd567">dllnk_end_of</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前迭代器的正向终止位置  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga561b71db25d025ae7f75e673b75cd567"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga83d601c8b98ca875921d7e1bcfc597c8">dllnk_next</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前节点的后继节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga83d601c8b98ca875921d7e1bcfc597c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaeffad2aa5e5b3d40a3a790a31d4a8c1c">dllnk_prev</a> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前节点的前驱节点  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#gaeffad2aa5e5b3d40a3a790a31d4a8c1c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab6b2b78fdff5adbe67e252eb7fdf9642"></a><!-- doxytag: member="dllnk.h::__dllnk_inc_later" ref="gab6b2b78fdff5adbe67e252eb7fdf9642" args="(dllnk_iter cur, dllnk_iter *p)" -->
static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_inc_later</b> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> cur, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga60141da27b5823029ac240e5268b3ca2"></a><!-- doxytag: member="dllnk.h::__dllnk_dec_later" ref="ga60141da27b5823029ac240e5268b3ca2" args="(dllnk_iter cur, dllnk_iter *p)" -->
static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_dec_later</b> (<a class="el" href="struct____dllnk__node.html">dllnk_iter</a> cur, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad613250bf34de76e0840a72594540b3f"></a><!-- doxytag: member="dllnk.h::__dllnk_vbegin" ref="gad613250bf34de76e0840a72594540b3f" args="(dllnk_head *head, dllnk_iter front)" -->
static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_vbegin</b> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, <a class="el" href="struct____dllnk__node.html">dllnk_iter</a> front)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga668495163e8579cf93fda09f70dff68f">dllnk_vbegin</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到用于反转的起始位置的迭代器  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga668495163e8579cf93fda09f70dff68f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____dllnk__node.html">dllnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9937303dbbaab3b5ab2f2c067256ab37">dllnk_vend</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到用于反转的终止位置的迭代器  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga9937303dbbaab3b5ab2f2c067256ab37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga7d2fa56b3cec32f03368f90abdb315df">dllnk_reverse</a> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">反转表  <a href="group___xE5_x8F_x8C_xE5_x90_x91_xE7_xBA_xBF_xE5_xBD_xA2_xE9_x93_xBE_xE8_xA1_xA8.html#ga7d2fa56b3cec32f03368f90abdb315df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac72c98b68e65b26292fd4ede1d64267d"></a><!-- doxytag: member="dllnk.h::__dllnk_serialize" ref="gac72c98b68e65b26292fd4ede1d64267d" args="(dllnk_head *head, char **buf, const size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_serialize</b> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, char **buf, const size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga87f8ee2eeb0f4d3e0eda7b47ea42cc29"></a><!-- doxytag: member="dllnk.h::__dllnk_deserialize" ref="ga87f8ee2eeb0f4d3e0eda7b47ea42cc29" args="(dllnk_head *head, char **buf, size_t cnt, const size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__dllnk_deserialize</b> (<a class="el" href="structdllnk__head.html">dllnk_head</a> *head, char **buf, size_t cnt, const size_t offset)</td></tr>
</table>
<hr/><a name="_details"></a><h2>详细描述</h2>
<div class="textblock"><p>Doubly linear linked list. </p>
<p>Copyright (C) 2012-2022, Henry Kwok 郭弘扬. All rights reserved </p>

<p>在文件<a class="el" href="dllnk_8h_source.html">dllnk.h</a>中定义。</p>
</div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>数据结构</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at 2015年七月16日 星期四 12:00:39 for Navo Portable Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>
